Equational Specifications: Design, Implementation, and Reasoning∗
نویسندگان
چکیده
Sets of equations can be used to specify, implement, and reason about software. We discuss how to automate these tasks for constructor-based, convergent rewrite systems. Using incremental design strategies, we obtain completely defined, consistent, and sufficiently complete specifications. Direct implementations of specifications as term rewriting systems serve as software prototypes of systems. We use prototypes to determine that specifications are consistent with our intuitive expectations during design and with more efficient implementations during testing. We describe an automated tool for reasoning about both the properties a specification and the correctness of its implementation. Our approach is applicable to a relatively small class of specifications, but within this class it appears to be effective for designing high quality specifications and for effectively using these specifications for a variety of other tasks arising during the software lifecycle. ∗This work has been partially supported by the C.N.R. “Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo” under grant n.90.00750.69, by the National Science Foundation grant CCR-9196023 and CCR-9406751, and by the Office of Naval Research grants N00014-87-K-0307 and N0014-90-J4091.
منابع مشابه
On Describing Terminating Algebraic Specifications Based on Their Models
OBJ algebraic specification languages support automated equational reasoning based on term rewriting systems (TRSs) for specification verification. Termination is one of the most important properties of TRSs. Terminating TRSs guarantee that any equational reasoning terminates in finite times. Although termination is an undecidable property, several sufficient conditions have been proposed, and ...
متن کاملContract-Oriented Specifications
In classes developed using design-by-contract, contracts contain assertions that formalise preconditions, postconditions and invariants. To be sure that contracts are complete, they can be derived from specifications. For classes in a data structures library, equational specifications are appropriate. However, a conventional equational specification cannot usually be mapped directly to contract...
متن کاملRewriting Context-free Families of String Diagrams
String diagrams provide a convenient graphical framework which may be used for equational reasoning about morphisms of monoidal categories. However, unlike term rewriting, which is the standard way of reasoning about the morphisms of monoidal categories, rewriting string diagrams results in shorter equational proofs, because the string diagrammatic representation allows us to formally establish...
متن کاملIncremental Proofs of Operational Termination with Modular Conditional Dependency Pairs
OBJ algebraic specification languages support semi-automated verification of algebraic specifications based on equational reasoning by term rewriting systems (TRS). Termination is one of the most important properties of TRSs. Termination guarantees that any execution of the specification terminates in finite times. Another important feature of OBJ languages is a module system with module import...
متن کاملOn Proving Operational Termination Incrementally with Modular Conditional Dependency Pairs
OBJ algebraic specification languages support semi-automated verification of algebraic specifications based on equational reasoning by term rewriting systems (TRS). Termination is one of the most important properties of TRSs. Termination guarantees that any execution of the specification terminates in finite times. Another important feature of OBJ languages is a module system with module import...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996